Rate-matching algorithm for hybrid ARQ system

ABSTRACT

A method of setting an initial error value of a rate-matching algorithm is disclosed. The method according to the present invention includes determining an original initial error value, which is originally given for a rate-matching algorithm that generates a rate-matching pattern in a hybrid ARQ system. Next, a modular operator K is calculated. Then the method obtains an incremental error value that depends on a number of retransmissions made, and finally it calculates a new initial error value by adding the incremental error value with the original initial error value. As a result, the data bits punctured by coding and rate matching can be transmitted prior to other data bits. In addition, the transmission priority can be given to the data bits that have been transmitted a less number of times.

[0001] This application claims the benefit of the Korean Application No. P2000-85014 filed on Dec. 29, 2000, which is hereby incorporated by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to an Automatic Repeat Request (ARQ) system, and more particularly, to a rate-matching algorithm of a Wideband Code Division Multiple Access (WCDMA) Hybrid ARQ system. Although the present invention is suitable for a wide scope of applications, it is particularly suitable for Hybrid ARQ type II systems with full retransmission.

[0004] 2. Discussion of the Related Art

[0005] Generally, the automatic repeat request (ARQ) and forward error correction (FEC) techniques are well-known error control techniques commonly employed in many communication systems.

[0006] In a communication system that employs the ARQ technique, a receiving system makes requests to re-transmit data if the data were received erroneously. Therefore, an object of ARQ is to increase the reliability of the packet data transmission by re-transmitting the same data to the receiving system until the receiving system receives the data error-free. ARQ techniques provide very reliable communication, however they often introduce undesirable delays, decreasing the data throughput rate of the system.

[0007] On the other hand, the FEC technique fixes such delay errors by using an error correction code. Therefore, an object of a Hybrid ARQ system, in which both ARQ and FEC techniques are combined, is to have the delay error correction capability of the FEC technique and the low error rates of the standard ARQ technique.

[0008] The coding rate of the channel code in an adaptive hybrid ARQ system starts from a source-coding rate, and it decreases as the number of retransmission increases in order to increase reliability of the data transmission. Such hybrid ARQ technique being adaptive to channel environments is essential to a system that provides a multimedia service.

[0009] The adaptive ARQ technique bases on an adaptive error correction technique: the number of the surplus data bits gradually increases during the retransmission process. In addition, the adaptive ARQ technique uses one of “stop and wait”, “go back N”, and “selective repeat” protocol method, and a data packet having a length L includes n information bits and m tail bits.

[0010] A typical hybrid ARQ system starts to transmit the data encoded with a reasonably high coding rate, and a mobile station requests to resend the data (sends NAK) if they were received erroneously. Then, the transmitting system, which receives NAK, sends an incremental code word encoded with a lower coding rate.

[0011] The hybrid ARQ system often uses any one of convolutional or turbo encoding techniques for encoding a code, and the hybrid ARQ system can be classified into a type II or type III system based on whether the encoded code is a Rate Compatible Punctured (RCP) code or a Complementary Punctured (CP) code. In addition, the system is classified into type I system for re-transmitting the same signal.

[0012] There are four different types of hybrid ARQ system:

[0013] (1) Hybrid ARQ type I system without code combining, (2) Hybrid ARQ type I system with code combining, (3) Hybrid ARQ type II system with full retransmission, and (4) Hybrid ARQ type II system with partial retransmission.

[0014] (1) Hybrid ARQ Type I System Without Code Combining

[0015] In this system, a transmitter adds a CRC code to a data packet and performs an error correction coding process before sending the packet. Then, a receiver performs a CRC inspection and requests to retransmit if any error exists. Thereafter, the transmitter resends a same packet, and the receiver decodes the retransmitted packet independently. This system is set as “working assumption” in current 3GPP standards.

[0016] (2) Hybrid ARQ Type I System with Code Combining

[0017] This system is similar to the Hybrid ARQ type I system shown above except that the receiver initially combines the originally transmitted packet with the retransmitted packet, and it decodes the combined packet. It requires an additional memory space, and the number of data bits representing a symbol for combining must be considered.

[0018] (3) Hybrid ARQ Type II System with Full Retransmission

[0019] In this system, the sender transmits an incremental redundancy after sending a data packet.

[0020] (4) Hybrid ARQ Type II System with Partial Retransmission

[0021] This system is identical to the Hybrid ARQ type II system with full retransmission except that the re-transmitted

[0022] The current Third Generation Partner Project (3 GPP) meetings for WCDMA standards are only trying to decide what type of ARQ system should be used. Therefore, it is crucially important to provide the specific algorithms for hybrid ARQ systems. In addition, in order to achieve the optimal result, various techniques and modification should be applied to such algorithms.

SUMMARY OF THE INVENTION

[0023] Accordingly, the present invention is directed to a method of setting an initial error value of a rate-matching algorithm that substantially obviates one or more problems due to limitations and disadvantages of the related art.

[0024] An object of the present invention is to provide a method of providing a method of setting an initial error value that depends on the number of retransmissions made for a rate-matching algorithm of a hybrid ARQ system.

[0025] Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.

[0026] To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, a method of setting an initial error value of a rate-matching algorithm in a hybrid ARQ system includes (a) determining an original initial error value which is originally given for a rate-matching algorithm generating a rate-matching pattern for a hybrid ARQ system, (b) calculating a modular operator K, (c) calculating a first incremental value, the first incremental value depending on a number of retransmissions made, and (d) calculating a new initial error value by adding a second incremental value to the original initial value, the second incremental value depending on the first incremental value.

[0027] The modular operator K is obtained by $K = \left\{ {\begin{matrix} {{{integer}\left( \frac{e_{plus}}{e_{minus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} \geq 1}} \\ {{{integer}\left( \frac{e_{minus}}{e_{plus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} < 1}} \end{matrix},} \right.$

[0028] where e_(plus) and e_(minus) are originally given, and integer (A) is defined by

integer(A)=N(A) or N(A)+1,

[0029] where N(A) represents the maximum of a set of integer numbers being less than A.

[0030] The first incremental value is obtained by

e _(HARQ)(i)=i or PBR _(i%K),

[0031] where e_(HARQ)(i) represents the first incremental value, and i represents the number of retransmissions made. PBR_(i%K) represents a first list of numbers obtained by excluding any number being greater than or equal to K from BR_(j,n), where BR_(j,n) represents a second list of numbers obtained by bit-reversing j with n, and n represents any integer number that satisfies 2^(n−1)<K≦2^(n).

[0032] Finally, the new initial error value is obtained by

e _(int-new) =e _(int-old)+(e _(HARQ)(i)mod K)·e _(minus),

[0033] where e_(int-new) represents the new initial error value, and e_(int-old) represents the original initial error value.

[0034] It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention. In the drawings;

[0036]FIG. 1 illustrates an existing rate-matching algorithm of generating a rate-matching pattern for a hybrid ARQ type II system;

[0037]FIG. 2 illustrates a graphical presentation showing how the rate-matching algorithm is invoked in a hybrid ARQ type II system; and

[0038]FIG. 3 illustrates a method of setting an initial error value of a rate-matching algorithm for a hybrid ARQ type II system in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0039] Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

[0040] The current Third Generation Partner Project (3GGP) meetings for WCDMA standards are trying only to decide what type of ARQ system should be used. Therefore, various techniques and modifications must be made to provide a specific algorithm for hybrid ARQ systems in order to achieve the maximum result.

[0041] One of the crucially important facts of achieving the maximum result for a Hybrid ARQ type II system (with full retransmission) is that the data bits punctured by coding and rate-matching must be transmitted prior to the data bits which were not punctured and transmitted previously. In addition to that, the data bits transmitted many times should be transmitted subsequent to the data bits transmitted a less number of times.

[0042] Therefore, using the method of setting the initial error value of the rate-matching algorithm in accordance with the present invention, the system is able to give priorities to the data bits transmitted fewer times.

[0043]FIG. 1 illustrates an existing algorithm for generating a rate-matching pattern for a hybrid ARQ type II system with full transmission according to the background art.

[0044] In the algorithm shown in FIG. 1, e_(int), e_(plus), e_(minus) , and X_(i) are initially given. x_(i1),x_(i2),x_(i3), . . . and x_(iX) _(l) represent the data bits being processed, where X_(i) represents a total number of the data bits, and i represents the transport channel number. e_(int) represents an initial error value, and m represents the index of a current data bit.

[0045]FIG. 2 is a graphical presentation of how the rate-matching algorithm is invoked in a hybrid ARQ system in accordance with the present invention. It will be assumed that the size of the packet being retransmitted is identical to the size of the packet previously transmitted. As shown in FIG. 2, the initial value of the algorithm depends on the number of retransmissions made.

[0046]FIG. 3 illustrates a method of setting an initial error value of a rate-matching algorithm for a WCDMA hybrid ARQ system in accordance with the present invention. In the flow chart shown in FIG. 3, i represents a number of retransmissions. Therefore, i set to 0 represents the first transmission, and i set to 1 represents the second transmission.

[0047] First of all, a modular operator K is determined by $K = \left\{ {\begin{matrix} {{{integer}\left( \frac{e_{plus}}{e_{minus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} \geq 1}} \\ {{{integer}\left( \frac{e_{minus}}{e_{plus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} < 1}} \end{matrix},} \right.$

[0048] where integer (A) is defined as N(A) or N(A)+1, and N(A) represents the maximum of the integer numbers being less than A (S201).

[0049] Next, the algorithm checks whether it is a “puncturing” mode or “repeat” mode (S202).

[0050] If it is a “puncturing” mode, the algorithm sets the incremental value e_(HARQ)(i) to i. Similarly, if it is a “repeat” mode, the algorithm sets e_(HARQ)(i) to i (S203).

[0051] Finally, the new initial error value is determined by

e _(int) =e _(int)+(e _(HARQ)(i)mod K)·e _(minus)

[0052] (S204).

[0053] Alternatively, the incremental value e_(HARQ)(i) can be set as

e _(HARQ)(i)=PBR _(i%K),

[0054] where PBR_(i%K) represents a list of numbers obtained by excluding any number greater than or equal to K from BR_(j,n). BR_(j,n) represents the values obtained by bit-reversing j with n (e.g., BR_(0,3)=0 and BR_(1,3)=4), where n represents an integer number that 2^(n−1)<K≦2^(n).

[0055] For example, let's assume K=6 and n=3. Then BR_(0,n)=0(000→000), BR_(1,n)=4(001→100), BR_(2,n)=2(010→010) BR_(3,n)=6(011→101), BR_(4,n)=1(100→001), BR_(5,n)=5(101→101) BR_(6,n)=3(110→4011), BR_(7,n)=7(111→111), and PBR₀=0, PBR₁=4, PBR₂=2, PBR₃=1, PBR₄=5, PBR₅=3.

[0056] The method of setting an initial error value for the algorithm generating a rate-matching pattern can be applied to not only a downward link but also to an upward link. When the Transmission Time Interval (TTI) is set to a value greater than 1 for an upward link, an initial error value is set for each frame. Then the method described above can be used for setting the initial error value for each frame.

[0057] In addition, since the method of setting an initial error value in accordance with the present invention bases on code combining, it can be further applied to any other application that uses the code combining.

[0058] In conclusion, in the method of setting an initial error value in accordance with the present invention, the initial error value depends on the number of transmissions made. Therefore, the maximum result can be obtained for the Hybrid ARQ type II system with full retransmission.

[0059] It will be apparent to those skilled in the art than various modifications and variations can be made in the present invention. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. 

What is claimed is:
 1. A method of setting an initial error value of a rate-matching algorithm in a hybrid ARQ system, the method comprising the steps of: (a) determining an original initial error value, which is originally given for a rate-matching algorithm generating a rate-matching pattern for a hybrid ARQ system; (b) calculating a modular operator K; (c) calculating an incremental error value that depends on a number of retransmissions made; and (d) calculating a new initial error value by adding said incremental error value with said original initial error value.
 2. The method of claim 1, wherein said modular operator K is obtained by $K = \left\{ {\begin{matrix} {{{integer}\left( \frac{e_{plus}}{e_{minus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} \geq 1}} \\ {{{integer}\left( \frac{e_{minus}}{e_{plus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} < 1}} \end{matrix},} \right.$

where e_(plus) and e_(minus) are originally given, and integer (A) is defined by integer(A)=N(A) or N(A)+1, where N(A) represents the maximum of a set of integer numbers being less than A.
 3. The method of claim 2, wherein said incremental value is obtained by incremental error value=(i mod K)·e _(minus).
 4. The method of claim 1, wherein said new initial error value is used for a downward link or an upward link.
 5. A method of setting an initial error value of a rate-matching algorithm in a hybrid ARQ system, the method comprising the steps of: (a) determining an original initial error value, which is originally given for a rate-matching algorithm generating a rate-matching pattern for a hybrid ARQ system; (b) calculating a modular operator K; (c) calculating a first incremental value for a puncturing mode, said first incremental value depending on a number of retransmissions made i and (d) calculating a new initial error value by adding a second incremental value to said original initial value, said second incremental value depending on said first incremental value.
 6. The method of claim 5, wherein said modular operator K is obtained by $K = \left\{ {\begin{matrix} {{{integer}\left( \frac{e_{plus}}{e_{minus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} \geq 1}} \\ {{{integer}\left( \frac{e_{minus}}{e_{plus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} < 1}} \end{matrix},} \right.$

where e_(plus) and e_(minus) are originally given, and integer (A) is defined by integer(A)=N(A) or N(A)+1, where N(A) represents the maximum of a set of integer numbers being less than A.
 7. The method of claim 6, wherein said first incremental value is obtained by e _(HARQ)(i)=i, where e_(HARQ)(i) represents said first incremental value, and i represents said number of retransmissions made.
 8. The method of claim 7, wherein said new initial error value is obtained by e _(int-new) =e _(int-old)+(e _(HARQ)(i)mod K)·e _(minus), where e_(int-new) represents said new initial error value, and e_(int-old) represents said original initial error value.
 9. The method of claim 6, wherein said first incremental value is obtained by e _(HARQ)(i)=PBR_(i%K), where PBR_(i%K) represents a first list of numbers obtained by excluding any number being greater than or equal to K from BR_(j,n), where BR_(j,n) represents a second list of numbers obtained by bit-reversing j with n, and n represents any integer number that satisfies 2^(n−1)<K≦2^(n).
 10. The method of claim 9, wherein said new initial error value is obtained by e _(int-new) =e _(int-old)+(e _(HARQ)(i)mod K)·e_(minus), where e_(int-new) represents said new initial error value, and e_(int-old) represents said original initial error value.
 11. A method of setting an initial error value of a rate-matching algorithm in a hybrid ARQ system, the method comprising the steps of: (a) determining an original initial error value, which is originally given for a rate-matching algorithm generating a rate-matching pattern for a hybrid ARQ system; (b) calculating a modular operator K; (c) calculating a first incremental value for a kilo repeating mode, said first incremental value depending on a number of retransmissions made; and (d) calculating a new initial error value by adding a second incremental value to said original initial value, said second incremental value depending on said first incremental value.
 12. The method of claim 11, wherein said modular operator K is obtained by $K = \left\{ {\begin{matrix} {{{integer}\left( \frac{e_{plus}}{e_{minus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} \geq 1}} \\ {{{integer}\left( \frac{e_{minus}}{e_{plus}} \right)},{{{if}\quad \left( \frac{e_{plus}}{e_{minus}} \right)} < 1}} \end{matrix},} \right.$

where e_(plus) and e_(minus) are originally given, and integer (A) is defined by integer(A)=N(A) or N(A)+1 where N(A) represents the maximum of a set of integer numbers being less than A.
 13. The method of claim 12, wherein said first incremental value is obtained by e _(HARQ)(i)=i, where e_(HARQ)(i) represents said first incremental value, and i represents said number of retransmissions made.
 14. The method of claim 13, wherein said new initial error value is obtained by e _(int-new) =e _(int-old)+(e _(HARQ)(i)mod K)·e _(minus), where e_(int-new) represents said new initial error value, and e_(int-old) represents said original initial error value.
 15. The method of claim 12, wherein said first incremental value is obtained by e _(HARQ)(i)=PBR _(i%K), where PBR_(i%K) represents a first list of numbers obtained by excluding any number being greater than or equal to K from BR_(j,n), where BR_(j,n) represents a second list of numbers obtained by bit-reversing j with n, and n represents any integer number that satisfies 2^(n−1)<K≦2^(n).
 16. The method of claim 15, wherein said new initial error value is obtained by e _(int-new) =e _(int-old)+(e _(HARQ)(i)mod K)·e _(minus), where e_(int-new) represents said new initial error value, and e_(int-old) represents said original initial error value. 